package com.wocao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wocao.entity.ReqBody;
import com.wocao.entity.SysUser;
import org.apache.ibatis.annotations.*;
import com.wocao.entity.SysRole;
import com.wocao.entity.SysMenu;

import java.util.List;

/**
 * 用户信息表 Mapper 接口
 */
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 分页用户+搜索
     */
    Page<SysUser> allPage(Page<SysUser> page, @Param("reqBody") ReqBody reqBody);

    //批量删除
    void batchRemoveUser(Integer[] userIds);

    //根据用户id数组查询
    List<SysUser> userByIds(Integer[] userIds);

    /**
     * 按用户名查询所有角色
     */
    List<SysRole> selectRolesByUsername(String username);

    /**
     * 按用户名查询所有权限
     */

    List<SysMenu> selectPermissionsByUsername(String username);

    /**
     * 按用户名查询权限和子权限
     */
//    List<SysMenu> selectPermissionsWithChildrenByUsername(String username);


    /**
     * 按用户名查询用户信息
     *
     * @param username
     * @return
     */
    SysUser selectPersonalInformationByUsername(String username);
}
